草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - 使用 OpenGL ES 在 C/C++ 中使用 Sobel 过滤器

如果没有必要,我宁愿不重新创建轮子,而且之前肯定已经完成了。是否有任何使用OpenGLES的Sobel过滤器的实现? 最佳答案 如果Objective-C可以接受,你可以看看我的GPUImage框架及其GPUImageSobelEdgeDetectionFilter。这应用了使用OpenGLES2.0片段着色器的Sobel边缘检测。您可以在thisanswer中的“草图”示例中看到此输出.如果您不想深入研究Objective-C代码,这里的关键工作是由两组着色器执行的。在第一遍中,我将图像降低到其亮度并将该值存储在红色、绿色和蓝色c

c++ - 以 C 风格编写 C++ 代码

如果我们想用C编写一个模块,并且必须使用g++将其编译为C++,是否可以在没有任何自己的类的情况下用C++开发一段代码,仅使用“global/静态函数”就像在C中一样?所以,简单地说,用C++编写C代码(只更改很少的系统头文件等) 最佳答案 是的。事实上,这通常是个好主意,因为C++强制执行比C更强大的类型检查。 关于c++-以C风格编写C++代码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

c++ - 在 c/c++ 中创建时间戳的可移植方式

我需要以yyyymmdd格式生成时间戳。基本上我想创建一个带有当前日期扩展名的文件名。(例如:log.20100817) 最佳答案 strftime#include#include#includeintmain(){chardate[9];time_tt=time(0);structtm*tm;tm=gmtime(&t);strftime(date,sizeof(date),"%Y%m%d",tm);printf("log.%s\n",date);returnEXIT_SUCCESS;}

c++ - 数据类型的名称从何而来?

为什么是一点,就叫一点。为什么8位是一个字节?是什么让人们称16位为Word,等等。他们的别名是在哪里以及为什么出现的?我希望其他人包括基本的ASM之类的东西类型,然后分支到C/C++然后转到SQL等等的数据类型。1位Bit-binaryUnitBool-以bool逻辑的发明者George的名字命名Boole.4位半字节-字节大小的一半。8位字节-Coinedfrom"bite"butrespelledtoavoidaccidentalmutationto"bit".查尔八位字节-Isagroupingofeightbits,fromtheLatin"octo"meaning"eigh

c++ - C 中的位运算符

我已经编写了一个用于交换位位置(源位和目标位)的代码。它工作正常。但是是否有任何优化代码可以做到这一点?intbit_swap(intnum,intsbit,intdbit){if(num&(1这里..num是输入数字..sbit是源位位置,dbit是目标位位置..有什么方法可以在不使用if和else的情况下在一行中编写这段代码 最佳答案 您认为C中的行越少意味着代码越优化,这就是典型的错误。您应该真正检查汇编器输出并分析您的代码,看看它是否是真正的瓶颈。我倾向于做的是首先优化可读性,然后仅在它成为问题时才攻击性能。因此,一个更具可

c++ - 计算常量二维 c 数组中的行数

计算数组中元素的数量很容易:intmyarr[]={1,2,3};intmyarrsize=sizeof(myarr)/sizeof(myarr[0]);但是,如何计算二维数组中的行数?intmy2Darr[][3]={{1,2,3},{4,5,6}};intmy3DarrRows=???这可能吗? 最佳答案 同理。所以要么:sizeof(my2Darr)/sizeof(my2Darr[0])或:sizeof(my2Darr[0])/sizeof(my2Darr[0][0])取决于“行”的含义。

c++ - 空终止字符 (\0) 和 `^@` 之间的区别

我的代码是这样的:#includeusingstd::cout;usingstd::endl;intmain(intargc,char*argv[]){cout我希望在终端中看到这样的内容:$test-program0$然而,我看到的是这样的:$test-program0^@$让我感到困惑的是,我认为'\0'可以转换为0。而0也可以转换成\0。我希望看到一个空字符后跟一个endl,但结果很奇怪,比如^@。有人对此有想法吗? 最佳答案 ^@正是您的终端仿真器呈现'\0'的方式。 关于c++

c++ - C/C++ : how to get integer unix timestamp of build time (not string)

我正在尝试实现非常微不足道的事情:我需要存储构建时间的整数32位unix时间戳,但是我找到的所有宏(__DATE__,__TIME__,__TIMESTAMP__)扩展为字符串,而不是整数。看来,我们只是没有它(这对我来说很奇怪)。我真的想要整数,而不是字符串。获得它的最佳做法是什么?更新:附带说明:我做嵌入式的东西,所以我没有足够的资源(比如128KB的闪存),因此解析字符串真的是个坏主意。我为什么需要它:我只需要每个Beta版本都有唯一的版本号。首先,hex文件将被命名为my-firmware-v2-33-BETA-1397315745.hex,其次,当我需要在设备屏幕上显示当前版

c++ - 我可以在任何平台上运行 C 和 C++ 吗?

如果我用C或C++编写,例如:Windows。是否保证我可以在任何其他操作系统(如MacOS、Linux、类Unix系统)上编译和运行它?那么,这是否意味着C或C++是跨平台语言? 最佳答案 如果您编写的C或C++程序严格遵守某些标准,那么该程序应该可以在提供符合该标准的工具链的任何平台上运行。从这个意义上说,C和C++是跨平台语言。 关于c++-我可以在任何平台上运行C和C++吗?,我们在StackOverflow上找到一个类似的问题: https://st

c++ - 在 c/c++ 中处理可变大小数组的最佳实践?

如果我有一个固定大小的数组,具体取决于它的定义和使用方式,我通常会使用两种方法之一来引用它。数组类型1:由于它是基于定义的固定大小,我只是在引用它的所有循环中使用该定义。#defineMAXPLAYERS4intplayerscores[MAXPLAYERS];for(i=0;i数组类型2:由于这个数组可以随着项目的添加而增长,我使用sizeof来计算其中的条目数。大小将由编译器转换为常量,因此以这种方式进行不会有任何运行时损失。typedefstruct{fields....}MYSTRUCT_DEF;MYSTRUCT_DEFmystruct[]={{entry1},{entry2}